#Author:Xu Yirong
#数据化结构——处理数据化结构
#python字典的键的部分通常是一个字符串（string），关联的值部分可以是任意的python对象。
#字典在python中叫dict

#person3={键/值（关联的数据值）}
#一个键[字符串]对应一个值（相应的值也需要用引号；键的值不一定是字符串）
## 1、直接建key（key是有规则的、无序的）
# person_01 = {
#     'Name':'Ford Prefect',
#     'Gender':'Male',
#     'Occupation':'Researcher',
#     'Home Planet':'Betelgeuse Seven'
#            }
# print(person_01)

## 2、字典认识中括号(先建一个空字典，然后再加值进去)
# person_02 = {}
# person_02["Home Planet"]="Betelgeuse Seven"
# print(person_02)

## 3、运行时处理字典（）
### 增加新的键/值对
# person_03 = {
#     'Name':'Ford Prefect',
#     'Gender':'Male',
#     'Occupation':'Researcher',
#     'Home Planet':'Betelgeuse Seven'
#            }
# person_03['Age'] = 33
# print(person_03)

## 4、查找并检查次数
vowels_04 = ['a','e','i','o','u']
word = input("Provide a word to search for vowels:")

found = {}

found ['a'] = 0
found ['e'] = 0
found ['i'] = 0
found ['o'] = 0
found ['u'] = 0

#增加的第一种方法
# found['e'] = found['e']+1
#增加的第二种方法
# found['e'] += 1

for letter in word:
    if letter in vowels_04:
        #1、如果存在，不执行
        #2、如果不存在，执行default 初始化  示例:如果购物车有了一件，+1 
        found.setdefault(letter,0)
        found [letter] += 1
# for k in sorted(found):
#       print(k,'was found',found[k],'time(s).')
print(found)
# item:迭代处理字典的首选技术
for k,v in sorted(found.items()):
      print(k,'was found',v,'time(s).')
